package cn.com.surker.production.service;

import cn.com.surker.oa.entity.OaProductionContract;
import cn.com.surker.production.entity.TranConCar;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.com.surker.spring.RestResultDto;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * <p>
 * 生产合同关联车辆表 服务类
 * </p>
 *
 * @author admin
 * @since 2024-09-04
 */
public interface TranConCarService extends IService<TranConCar> {

	/**
	 * 根据合同和车辆查询关联关系
	 *
	 * @param conId
	 * @param carId
	 * @return
	 */
	List<TranConCar> queryByConDev(Long conId, Long carId);

	/**
	 * 根据合同和车辆查询关联关系
	 * @param conId
	 * @param code
	 * @param takeTime
	 * @return
	 */
	List<TranConCar> queryByConDevTakeTime(Long conId, String code, String takeTime);

	/**
	 * 查询站点下车辆的合同
	 *
	 * @param orgId
	 * @param carId
	 * @return
	 */
	List<OaProductionContract> findConList(Long orgId, Long carId);

	/**
	 * 分页查询车辆关联信息
	 * @param searchVal
	 * @param contractId
	 * @param modelType
	 * @param status
	 * @param offset
	 * @param limit
	 * @return
	 */
	IPage findPage(String searchVal, Long contractId, Integer modelType, Integer status, Integer offset, Integer limit);

	/**
	 * 根据车辆的运输合同和运输时间,查询当时车辆的运输合同
	 *
	 * @param carId    运输车辆
	 * @param tranTime 运输时间
	 * @return
	 */
	TranConCar queryLink(Long orgId, Long carId, String tranTime);

}
